@article{Binkley2012,
  author = {Dave Binkley and Marcia Davis and Dawn Lawrie and Jonathan I. Maletic and Christopher Morrell and Bonita Sharif},
  title = {The Impact of Identifier Style on Effort and Comprehension},
  journal = {ESE},
  volume = {18},
  number = {2},
  year = {2012},
  doi = {10.1007/s10664-012-9201-4},
}
  
@book{Brand1995,
  author = {Stewart Brand},
  title = {How Buildings Learn: What Happens After They're Built},
  publisher = {Penguin USA},
  year = {1995},
  isbn = {978-0140139969},
}
  
@book{Brown2011,
  editor = {Amy Brown and Greg Wilson},
  title = {The Architecture of Open Source Applications: Elegance, Evolution, and a Few Fearless Hacks},
  publisher = {Lulu},
  year = {2011},
  isbn = {978-1257638017},
}
  
@book{Brown2012,
  editor = {Amy Brown and Greg Wilson},
  title = {The Architecture of Open Source Applications: Structure, Scale, and a Few More Fearless Hacks},
  publisher = {Lulu},
  year = {2012},
  isbn = {978-0201103427},
}
  
@book{Brown2016,
  editor = {Amy Brown and Michael DiBernardo},
  title = {500 Lines or Less: Experienced Programmers Solve Interesting Problems},
  publisher = {Lulu},
  year = {2016},
  isbn = {978-1329871274},
}
  
@book{Casciaro2020,
  author = {Mario Casciaro and Luciano Mammino},
  title = {Node.js Design Patterns},
  publisher = {Packt},
  year = {2020},
  isbn = {978-1839214110},
}
  
@book{Conery2021,
  author = {Rob Conery},
  title = {The Imposter's Handbook: A CS Primer for Self-Taught Developers},
  publisher = {Independently published},
  year = {2021},
  isbn = {979-8708185266},
}
  
@book{Davis2018,
  author = {Ashley Davis},
  title = {Data Wrangling with JavaScript},
  publisher = {Manning},
  year = {2018},
  isbn = {978-1617294846},
}
  
@book{Feathers2004,
  author = {Michael C. Feathers},
  title = {Working Effectively with Legacy Code},
  publisher = {Prentice-Hall},
  year = {2004},
  isbn = {978-0131177055},
}
  
@inproceedings{Fucci2016,
  author = {Davide Fucci and Giuseppe Scanniello and Simone Romano and Martin Shepperd and Boyce Sigweni and Fernando Uyaguari and Burak Turhan and Natalia Juristo and Markku Oivo},
  title = {An External Replication on the Effects of Test-driven Development Using a Multi-site Blind Analysis Approach},
  booktitle = {Proc. ESEM'16},
  year = {2016},
  publisher = {ACM Press},
  doi = {10.1145/2961111.2962592},
  url = {https://doi.org/10.1145/2961111.2962592},
}
  
@article{Fucci2017,
  author = {Davide Fucci and Hakan Erdogmus and Burak Turhan and Markku Oivo and Natalia Juristo},
  title = {A Dissection of the Test-Driven Development Process: Does It Really Matter to Test-First or to Test-Last?},
  journal = {TSE},
  volume = {43},
  number = {7},
  month = {7},
  year = {2017},
  publisher = {Institute of Electrical and Electronics Engineers (IEEE)},
  doi = {10.1109/tse.2016.2616877},
  url = {https://doi.org/10.1109/tse.2016.2616877},
}
  
@book{Gregg2020,
  author = {Brendan Gregg},
  title = {Systems Performance: Enterprise and the Cloud},
  publisher = {Pearson},
  year = {2020},
  isbn = {978-0136820154},
}
  
@book{Jackson2016,
  author = {Daniel Jackson},
  title = {Software Abstractions: Logic, Language, and Analysis},
  publisher = {MIT Press},
  year = {2016},
  isbn = {978-0262528900},
}
  
@inproceedings{Johnson2019,
  author = {John Johnson and Sergio Lubo and Nishitha Yedla and Jairo Aponte and Bonita Sharif},
  title = {An Empirical Study Assessing Source Code Readability in Comprehension},
  booktitle = {Proc. ICSME'19},
  year = {2019},
  doi = {10.1109/ICSME.2019.00085},
}
  
@book{Kernighan1979,
  author = {Brian W. Kernighan and P. J. Plauger},
  title = {The Elements of Programming Style},
  publisher = {McGraw-Hill},
  year = {1979},
  isbn = {978-0070342071},
}
  
@book{Kernighan1981,
  author = {Brian W. Kernighan and P. J. Plauger},
  title = {Software Tools in Pascal},
  publisher = {Addison-Wesley Professional},
  year = {1981},
  isbn = {978-0201103427},
}
  
@book{Kernighan1983,
  author = {Brian W. Kernighan and Rob Pike},
  title = {The Unix Programming Environment},
  publisher = {Prentice-Hall},
  year = {1983},
  isbn = {978-0139376818},
}
  
@book{Kernighan1988,
  author = {Brian W. Kernighan and Dennis M. Ritchie},
  title = {The C Programming Language},
  publisher = {Prentice-Hall},
  year = {1988},
  isbn = {978-0131103627},
}
  
@book{Kohavi2020,
  author = {Ron Kohavi and Diane Tang and Ya Xu},
  title = {Trustworthy Online Controlled Experiments: A Practical Guide to A/B Testing},
  publisher = {Cambridge University Press},
  year = {2020},
  isbn = {978-1108724265},
}
  
@book{Meszaros2007,
  author = {Gerard Meszaros},
  title = {xUnit Test Patterns: Refactoring Test Code},
  publisher = {Addison-Wesley},
  year = {2007},
  isbn = {978-0131495050},
}
  
@article{Minahan1986,
  author = {Anne Minahan},
  title = {Martha's Rules},
  journal = {Affilia},
  volume = {1},
  number = {2},
  month = {6},
  year = {1986},
  publisher = {SAGE Publications},
  doi = {10.1177/088610998600100206},
  url = {https://doi.org/10.1177/088610998600100206},
}
  
@book{Oram2007,
  editor = {Andy Oram and Greg Wilson},
  title = {Beautiful Code: Leading Programmers Explain How They Think},
  publisher = {O'Reilly},
  year = {2007},
  isbn = {978-0596510046},
}
  
@misc{Osmani2017,
  author = {Addy Osmani},
  title = {Learning JavaScript Design Patterns},
  year = {2017},
  url = {https://addyosmani.com/resources/essentialjsdesignpatterns/book/},
}
  
@book{Patterson2017,
  author = {David A. Patterson and John L. Hennessy},
  title = {Computer Organization and Design: The Hardware/Software Interface},
  publisher = {Morgan Kaufmann},
  year = {2017},
  isbn = {978-0128122754},
}
  
@book{Petre2016,
  author = {Marian Petre and André van der Hoek},
  title = {Software Design Decoded: 66 Ways Experts Think},
  publisher = {MIT Press},
  year = {2016},
  isbn = {978-0262035187},
}
  
@book{Petzold2008,
  author = {Charles Petzold},
  title = {The Annotated Turing},
  publisher = {Wiley},
  year = {2008},
  isbn = {978-0470229057},
}
  
@book{Schon1984,
  author = {Donald A. Schon},
  title = {The Reflective Practitioner: How Professionals Think in Action},
  publisher = {Basic Books},
  year = {1984},
  isbn = {978-0465068784},
}
  
@book{Smith2011,
  author = {Peter Smith},
  title = {Software Build Systems: Principles and Experience},
  publisher = {Addison-Wesley Professional},
  year = {2011},
  isbn = {978-0134185965},
}
  
@article{Taschuk2017,
  author = {Morgan Taschuk and Greg Wilson},
  title = {Ten Simple Rules for Making Research Software More Robust},
  journal = {PLoS Comp Bio},
  volume = {13},
  number = {4},
  month = {4},
  year = {2017},
  publisher = {Public Library of Science (PLoS)},
  doi = {10.1371/journal.pcbi.1005412},
}
  
@book{Tudose2020,
  author = {Cătălin Tudose},
  title = {JUnit in Action},
  publisher = {Manning},
  year = {2020},
  isbn = {978-1617297045},
}
  
@book{Wayne2018,
  author = {Hillel Wayne},
  title = {Practical TLA+: Planning Driven Development},
  publisher = {Apress},
  year = {2018},
  isbn = {978-1484238288},
}
  
@book{Zeller2009,
  author = {Andreas Zeller},
  title = {Why Programs Fail: A Guide to Systematic Debugging},
  publisher = {Morgan Kaufmann},
  year = {2009},
  isbn = {978-0080923000},
}
